#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;

bool com(pair<string, int> w1, pair<string, int> w2)
{
    return w1.second > w2.second;
}

int main()
{
    string s;
    getline(cin, s);
    map<string, int> m;
    for(int i = 0,j = 0; i < s.size()&&j < s.size(); ++i){
        if(s[i] == ' ' || s[i] == '.'){
            string word = s.substr(j, i-j);
            word[0] = tolower(word[0]);   // 转换为小写
            j = i+1;
            ++m[word];
        }
    }
    // 存放在vector中进行排序
    vector<pair<string, int>> cnt(m.begin(), m.end());
    sort(cnt.begin(), cnt.end(), com);  
    for(int i = 0; i < cnt.size(); ++i){
        cout << cnt[i].first << ':' << cnt[i].second << endl;
    }
    return 0;
}